home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 6 / The Arsenal Files 6 (Arsenal Computer).ISO / pcboard / phnuser3.zip / NEWUSER.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-01-23  |  18KB  |  720 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Integer  INTEGER001
  22.     Integer  INTEGER002
  23.     Integer  INTEGER003
  24.     Integer  INTEGER004
  25.     Integer  INTEGER005
  26.     Integer  INTEGER006
  27.     Integer  INTEGER007
  28.     Integer  INTEGER008
  29.     Integer  INTEGER009
  30.     Integer  INTEGER010
  31.     String   STRING001
  32.     String   STRING002
  33.     String   STRING003
  34.     String   STRING004
  35.     String   STRING005
  36.     String   STRING006
  37.     String   STRING007
  38.     String   STRING008
  39.     String   STRING009
  40.     String   STRING010
  41.     String   STRING011
  42.     String   STRING012
  43.     String   STRING013
  44.     String   STRING014
  45.     String   TSTRING015(5)
  46.     String   STRING016
  47.     String   STRING017
  48.     String   STRING018
  49.     String   STRING019
  50.     String   STRING020
  51.     String   TSTRING021(275,17)
  52.     String   TSTRING022(50,7)
  53.     String   TSTRING023(50)
  54.     String   TSTRING024(50)
  55.     String   TSTRING025(50)
  56.     String   TSTRING026(50)
  57.     String   STRING027
  58.     String   STRING028
  59.     String   STRING029
  60.     String   STRING030
  61.     String   STRING031
  62.     String   STRING032
  63.     String   STRING033
  64.     String   STRING034
  65.     String   STRING035
  66.     String   STRING036
  67.     String   STRING037
  68.  
  69. ;------------------------------------------------------------------------------
  70.  
  71.     STRING035 = "10.00"
  72.     STRING036 = "KEY"
  73.     FOpen 1, PPEPath() + "SYSOP.CNF", 0, 0
  74.     FGet 1, STRING032
  75.     FGet 1, STRING033
  76.     FGet 1, STRING034
  77.     FGet 1, STRING029
  78.     FGet 1, STRING030
  79.     FGet 1, STRING031
  80.     FClose 1
  81.     If (Exist(PPEPath() + "CLIPER." + STRING036)) Goto LABEL002
  82.     If (STRING034 == "000-00-0000") Goto LABEL001
  83.     Cls
  84.     For STRING037 = 1 To 7
  85.         PrintLn 
  86.     Next
  87.     PrintLn " @X0CPLEASE RETURN THE SER# TO @X0E000-00-0000 @X0CAND THE PPE WILL WORK AGIN!"
  88.     PrintLn " @X0ABY TAMPERING WITH THE SER NUM YOU WILL NOT GET THIS PPE TO RUN AS IF IT WERE "
  89.     PrintLn " REGISTERED ! @X0B NICE TRY GUY! BUT NO SALE!!!.........."
  90.     End
  91.     :LABEL001
  92.     Gosub LABEL033
  93.     :LABEL002
  94.     GetUser
  95.     STRING012 = YesChar()
  96.     STRING019 = YesChar()
  97.     STRING013 = U_Trans
  98.     FOpen 1, PPEPath() + "NEWUSER.CNF", 0, 0
  99.     FGet 1, INTEGER003
  100.     While (!Ferr(1) && (INTEGER002 <> INTEGER003)) Do
  101.         FGet 1, STRING001
  102.         INTEGER002 = INTEGER002 + 1
  103.         If (Exist(STRING001)) DispFile STRING001, 4 + 2 + 1
  104.         Newline
  105.         Wait
  106.         If (INTEGER002 == INTEGER003) Then
  107.             FGet 1, STRING002
  108.             If (Right(STRING002, (1 <> "\"))) STRING002 = STRING002 + "\"
  109.             STRING003 = STRING002 + "PCBS"
  110.             STRING004 = STRING002 + "PCBR"
  111.             FClose 1
  112.         Endif
  113.     EndWhile
  114.     If (Exist(PPEPath() + "NOALIAS")) DispFile PPEPath() + "NOALIAS", 4 + 2 + 1
  115.     PrintLn " @X1E┌────────────────────────────────────────────────────────────────────────────@X18@X10@X1E┐@X0E"
  116.     PrintLn " @X1E│  @X1BNext we will ask you to @X1CREGISTER WITH THE BBS. @X1BThis is a simpel form that @X1E@X10@X1E│@X00@X00@X01"
  117.     PrintLn " @X1E│ @X1Bgives us a some basic info on you. @X1CBASIC REGISTRATION IS FREE, BUT IF YOU  @X1E│@X0E"
  118.     PrintLn " @X1E│ @X1Crefuse to fill out the registery forms you will be loged off !             @X1E│@X0E"
  119.     PrintLn " @X1E│ @X1B@X1FYou MUST fill out the registery forms, or anser <@X1EN@X1F> you will @X8C@X1C@X9CNOT@X1F get access@X1E│@X0E"
  120.     PrintLn " @X0E@X1E│ @X1Fto this bbs. You will not be billed for ansering <@X1AY@X1F> to this question!     @X1E│@X0E"
  121.     PrintLn " @X1E└────────────────────────────────────────────────────────────────────────────┘@X0E"
  122.     Delay 100
  123.     Gosub LABEL024
  124.     Gosub LABEL027
  125.     PromptStr 54, STRING019, 1, "ynYN", 2 + 4 + 8 + 16384 + 128
  126.     If (STRING019 == YesChar()) Then
  127.         STRING017 = Upper(Left(STRING019, 1)) + Chr(13)
  128.         Newline
  129.         Goto LABEL003
  130.     Else
  131.         KbdStuff NoChar() + Chr(13)
  132.         End
  133.     Endif
  134.     Goto LABEL031
  135.     :LABEL003
  136.     If (INTEGER001 == 3) Goto LABEL030
  137.     If (Exist(PPEPath() + "NEW_A")) DispFile PPEPath() + "NEW_A", 4 + 2 + 1
  138.     STRING006 = ""
  139.     PromptStr 152, STRING006, 13, Mask_Pwd(), 2 + 4 + 8 + 128 + 256 + 1
  140.     If (Len((STRING006 == 0))) INTEGER001 = INTEGER001 + 1
  141.     If (Psa(4) && (Len(STRING006) < ReadLine(PCBDat(), 265))) Then
  142.         If (!(Len(STRING006) == 0)) INTEGER001 = 0
  143.         STRING006 = ""
  144.         Newline
  145.         PrintLn "@X0CPassword too short!  Must be @X0F" + Trim(ReadLine(PCBDat(), 265), Chr(32)) + " @X0Ccharacters or longer, try again.@X07"
  146.         FreshLine
  147.         Goto LABEL003
  148.     ElseIf (Psa(4) && (InStr(U_Name(), STRING006) > 0)) Then
  149.         INTEGER001 = 0
  150.         STRING006 = ""
  151.         Newline
  152.         PrintLn "@X0CYour password cannot be a subset of your name.  While this may make it easy for"
  153.         PrintLn "@X0Cyou to remember, it also makes it easier for someone to guess your password.@X07"
  154.         FreshLine
  155.         Goto LABEL003
  156.     ElseIf (Trim(STRING006, Chr(32)) <> "") Then
  157.         INTEGER001 = 0
  158.     Else
  159.         FreshLine
  160.         Goto LABEL003
  161.     Endif
  162.     STRING007 = ""
  163.     PromptStr 111, STRING007, 13, Mask_Pwd(), 2 + 4 + 8 + 128 + 1
  164.     If (STRING006 <> STRING007) Then
  165.         INTEGER001 = 0
  166.         STRING006 = ""
  167.         STRING007 = ""
  168.         Newlines 2
  169.         PrintLn "@X0CSorry, @FIRST@, the two passwords do not match, try again.@X07"
  170.         FreshLine
  171.         Goto LABEL003
  172.     ElseIf (STRING006 == STRING007) Then
  173.         INTEGER001 = 0
  174.         If (STRING020 <> "") Goto LABEL022
  175.         Newline
  176.         Goto LABEL004
  177.     Else
  178.         FreshLine
  179.         Goto LABEL003
  180.     Endif
  181.     Goto LABEL031
  182.     :LABEL004
  183.     If (INTEGER001 == 3) Goto LABEL030
  184.     If (Exist(PPEPath() + "NEW_B")) DispFile PPEPath() + "NEW_B", 4 + 2 + 1
  185.     PromptStr 265, STRING008, 24, Mask_Alpha() + "-,.'" + Chr(32), 2 + 4 + 8 + 128
  186.     If (Len((STRING008 == 0))) INTEGER001 = INTEGER001 + 1
  187.     If (Trim(STRING008, Chr(32)) <> "") Then
  188.         INTEGER001 = 0
  189.         If (STRING020 <> "") Goto LABEL022
  190.         Newline
  191.         Goto LABEL005
  192.     Else
  193.         FreshLine
  194.         Goto LABEL004
  195.     Endif
  196.     Goto LABEL031
  197.     :LABEL005
  198.     If (INTEGER001 == 3) Goto LABEL030
  199.     If (Exist(PPEPath() + "NEW_C")) DispFile PPEPath() + "NEW_C", 4 + 2 + 1
  200.     PromptStr 113, STRING009, 13, Mask_Num() + "-()" + Chr(32), 2 + 4 + 8 + 128
  201.     If (Len((STRING009 == 0))) INTEGER001 = INTEGER001 + 1
  202.     If (Trim(STRING009, Chr(32)) <> "") Then
  203.         INTEGER001 = 0
  204.         If (STRING020 <> "") Goto LABEL022
  205.         Newline
  206.         Goto LABEL006
  207.     Else
  208.         FreshLine
  209.         Goto LABEL005
  210.     Endif
  211.     Goto LABEL031
  212.     :LABEL006
  213.     If (INTEGER001 == 3) Goto LABEL030
  214.     If (Exist(PPEPath() + "NEW_D")) DispFile PPEPath() + "NEW_D", 4 + 2 + 1
  215.     PromptStr 114, STRING010, 13, Mask_Num() + "-()" + Chr(32), 2 + 4 + 8 + 128
  216.     If (Len((STRING010 == 0))) INTEGER001 = INTEGER001 + 1
  217.     If (Trim(STRING010, Chr(32)) <> "") Then
  218.         INTEGER001 = 0
  219.         If (STRING020 <> "") Goto LABEL022
  220.         Newline
  221.         Goto LABEL007
  222.     Else
  223.         FreshLine
  224.         Goto LABEL006
  225.     Endif
  226.     Goto LABEL031
  227.     :LABEL007
  228.     If (INTEGER001 == 3) Goto LABEL030
  229.     If (Exist(PPEPath() + "NEW_E")) DispFile PPEPath() + "NEW_E", 4 + 2 + 1
  230.     PromptStr 2, STRING011, 30, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 4 + 8 + 128
  231.     If (Len((STRING011 == 0))) INTEGER001 = INTEGER001 + 1
  232.     If (Trim(STRING011, Chr(32)) <> "") Then
  233.         INTEGER001 = 0
  234.         If (STRING020 <> "") Goto LABEL022
  235.         Newline
  236.         Goto LABEL008
  237.     Else
  238.         FreshLine
  239.         Goto LABEL007
  240.     Endif
  241.     Goto LABEL031
  242.     :LABEL008
  243.     If (Exist(PPEPath() + "NEW_F")) DispFile PPEPath() + "NEW_F", 4 + 2 + 1
  244.     PromptStr 556, STRING012, 1, "ynYN", 2 + 4 + 8 + 128 + 16384
  245.     If (Trim(STRING012, Chr(32)) <> "") Then
  246.         If (STRING020 <> "") Goto LABEL022
  247.         Newline
  248.         Goto LABEL009
  249.     Else
  250.         Newline
  251.         Goto LABEL009
  252.     Endif
  253.     Goto LABEL031
  254.     :LABEL009
  255.     If (Exist(ReadLine(PCBDat(), 45))) Goto LABEL010
  256.     If (STRING020 <> "") Goto LABEL022
  257.     Newline
  258.     Goto LABEL012
  259.     :LABEL010
  260.     Newline
  261.     PrintLn "@X70┌────────────────────────────────────────────────────────@X7F┐@X07"
  262.     PrintLn "@X70│         @X7BP R O T O C O L S   A V A I L A B L E@POS:58@@X7F│@X07"
  263.     PrintLn "@X70└@X7F────────────────────────────────────────────────────────┘@X07"
  264.     Newline
  265.     PrintLn "@X70┌@X7F────────────────────────────────────────────────────────┐@X07"
  266.     For INTEGER009 = 1 To INTEGER008
  267.         If (((TSTRING025(INTEGER009) <> "I") && !Exist(STRING003 + TSTRING023(INTEGER009) + ".BAT")) && !Exist(STRING004 + TSTRING023(INTEGER009) + ".BAT")) BOOLEAN001 = 1
  268.         If (!BOOLEAN001 || (TSTRING023(INTEGER009) == "N")) Then
  269.             STRING028 = STRING028 + TSTRING023(INTEGER009)
  270.             If (TSTRING023(INTEGER009) == STRING013) Then
  271.                 PrintLn "@X70│ @XF4=> @X71(@X7E" + TSTRING023(INTEGER009) + "@X71) " + TSTRING026(INTEGER009) + "@POS:58@@X7F│@X07"
  272.                 Goto LABEL011
  273.             Endif
  274.             PrintLn "@X70│    @X71(@X7E" + TSTRING023(INTEGER009) + "@X71) " + TSTRING026(INTEGER009) + "@POS:58@@X7F│@X07"
  275.         Endif
  276.         :LABEL011
  277.         BOOLEAN001 = 0
  278.     Next
  279.     PrintLn "@X70└────────────────────────────────────────────────────────@X7F┘@X07"
  280.     PromptStr 198, STRING013, 1, STRING028, 2 + 4 + 8 + 128
  281.     If (Left(STRING013, 1) == NoChar()) Then
  282.         If (STRING020 <> "") Goto LABEL022
  283.         Newline
  284.     Else
  285.         For INTEGER010 = 1 To INTEGER008
  286.             If (((TSTRING025(INTEGER010) <> "I") && !Exist(STRING003 + TSTRING023(INTEGER010) + ".BAT")) && !Exist(STRING004 + TSTRING023(INTEGER010) + ".BAT")) BOOLEAN001 = 1
  287.             If ((STRING013 == TSTRING023(INTEGER010)) && !BOOLEAN001) Then
  288.                 If (TSTRING024(INTEGER010) == YesChar()) Then
  289.                     If (!InStr(Modem(), ((("MNP" || "V42") || "LAPM") || "HST")) && !OnLocal()) Then
  290.                         Newline
  291.                         PrintLn "@X0CProtocol Unavailable - Modem Type Wrong!"
  292.                         End
  293.                     Endif
  294.                 Endif
  295.                 If (STRING020 <> "") Goto LABEL022
  296.                 Newline
  297.                 Goto LABEL012
  298.             Endif
  299.             BOOLEAN001 = 0
  300.         Next
  301.         Goto LABEL031
  302.     Endif
  303.     :LABEL012
  304.     If (!Psa(1) || (TSTRING021(0, 12) == NoChar())) Then
  305.         BOOLEAN002 = 1
  306.     Else
  307.         If (Exist(PPEPath() + "ALIAS")) DispFile PPEPath() + "ALIAS", 4 + 2 + 1
  308.         PromptStr 690, STRING014, 25, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 4 + 8 + 128
  309.         If (Len(STRING014)) Then
  310.             FOpen 1, ReadLine(PCBDat(), 35), 0, 0
  311.             Newlines 2
  312.             Print "@X0ASearching Records ..."
  313.             :LABEL013
  314.             If (Ferr(1)) Goto LABEL014
  315.             FGet 1, STRING005
  316.             If (Trim(STRING014, Chr(32)) == Trim(STRING005, Chr(32))) Then
  317.                 FClose 1
  318.                 Newlines 2
  319.                 PrintLn "@X0CThe SysOp has disabled the use of this Alias Name.@X07"
  320.                 STRING014 = ""
  321.                 Goto LABEL012
  322.             Endif
  323.             INTEGER004 = INTEGER004 + 1
  324.             If (INTEGER004 % 20 == 0) Print "@X0A."
  325.             Goto LABEL013
  326.             :LABEL014
  327.             FClose 1
  328.         Endif
  329.         If (U_RecNum(STRING014) <> -1) Then
  330.             Log "Attempted to use " + Trim(STRING014, Chr(32)) + " as an alias.", 0
  331.             Newlines 2
  332.             DispText 256, 256 + 2048
  333.             STRING014 = ""
  334.             Goto LABEL012
  335.         Else
  336.             STRING014 = Strip(STRING014, Chr(250))
  337.             If (STRING020 <> "") Goto LABEL022
  338.             Newline
  339.             Goto LABEL015
  340.         Endif
  341.         Goto LABEL031
  342.     Endif
  343.     :LABEL015
  344.     If (Psa(3)) Then
  345.         If (Exist(PPEPath() + "NEW_G")) DispFile PPEPath() + "NEW_G", 4 + 2 + 1
  346.         InputStr "Street Address and Number", TSTRING015(0), 14, 50, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 4 + 8 + 128
  347.         If (STRING020 <> "") Goto LABEL022
  348.         Newline
  349.         Goto LABEL016
  350.         Goto LABEL031
  351.         :LABEL016
  352.         If (INTEGER001 == 3) Goto LABEL030
  353.         If (Exist(PPEPath() + "NEW_H")) DispFile PPEPath() + "NEW_H", 4 + 2 + 1
  354.         InputStr "Suite or Apartment Number", TSTRING015(1), 14, 50, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 4 + 8 + 128
  355.         If (Len((TSTRING015(1) == 0))) INTEGER001 = INTEGER001 + 1
  356.         If ((Trim(TSTRING015(0), Chr(32)) <> "") || (Trim(TSTRING015(1), Chr(32)) <> "")) Then
  357.             INTEGER001 = 0
  358.             If (STRING020 <> "") Goto LABEL022
  359.             Newline
  360.             Goto LABEL017
  361.         Else
  362.             FreshLine
  363.             Goto LABEL016
  364.         Endif
  365.         Goto LABEL031
  366.         :LABEL017
  367.         If (INTEGER001 == 3) Goto LABEL030
  368.         If (Exist(PPEPath() + "NEW_I")) DispFile PPEPath() + "NEW_I", 4 + 2 + 1
  369.         InputStr "City, Town or Village", TSTRING015(2), 14, 25, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 4 + 8 + 128
  370.         If (Len((TSTRING015(2) == 0))) INTEGER001 = INTEGER001 + 1
  371.         If (Trim(TSTRING015(2), Chr(32)) <> "") Then
  372.             INTEGER001 = 0
  373.             If (STRING020 <> "") Goto LABEL022
  374.             Newline
  375.             Goto LABEL018
  376.         Else
  377.             FreshLine
  378.             Goto LABEL017
  379.         Endif
  380.         Goto LABEL031
  381.         :LABEL018
  382.         If (INTEGER001 == 3) Goto LABEL030
  383.         If (Exist(PPEPath() + "NEW_J")) DispFile PPEPath() + "NEW_J", 4 + 2 + 1
  384.         InputStr "Province or State", TSTRING015(3), 14, 10, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 4 + 8 + 128
  385.         If (Len((TSTRING015(3) == 0))) INTEGER001 = INTEGER001 + 1
  386.         If (Trim(TSTRING015(3), Chr(32)) <> "") Then
  387.             INTEGER001 = 0
  388.             If (STRING020 <> "") Goto LABEL022
  389.             Newline
  390.             Goto LABEL019
  391.         Else
  392.             FreshLine
  393.             Goto LABEL018
  394.         Endif
  395.         Goto LABEL031
  396.         :LABEL019
  397.         If (INTEGER001 == 3) Goto LABEL030
  398.         If (Exist(PPEPath() + "NEW_K")) DispFile PPEPath() + "NEW_K", 4 + 2 + 1
  399.         InputStr "Postal/Zip Code", TSTRING015(4), 14, 10, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 4 + 8 + 128
  400.         If (Len((TSTRING015(4) == 0))) INTEGER001 = INTEGER001 + 1
  401.         If (Trim(TSTRING015(4), Chr(32)) <> "") Then
  402.             INTEGER001 = 0
  403.             If (STRING020 <> "") Goto LABEL022
  404.             Newline
  405.             Goto LABEL020
  406.         Else
  407.             FreshLine
  408.             Goto LABEL019
  409.         Endif
  410.         Goto LABEL031
  411.         :LABEL020
  412.         If (INTEGER001 == 3) Goto LABEL030
  413.         If (Exist(PPEPath() + "NEW_L")) DispFile PPEPath() + "NEW_L", 4 + 2 + 1
  414.         InputStr "Country or Region", TSTRING015(5), 14, 15, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 4 + 8 + 128
  415.         If (Len((TSTRING015(5) == 0))) INTEGER001 = INTEGER001 + 1
  416.         If (Trim(TSTRING015(5), Chr(32)) <> "") Then
  417.             INTEGER001 = 0
  418.             If (STRING020 <> "") Goto LABEL022
  419.             Newline
  420.             Goto LABEL021
  421.         Else
  422.             FreshLine
  423.             Goto LABEL020
  424.         Endif
  425.     Else
  426.         :LABEL021
  427.         If (Psa(2)) Then
  428.             If (INTEGER001 == 3) Goto LABEL030
  429.             If (Exist(PPEPath() + "VERIFY")) DispFile PPEPath() + "VERIFY", 4 + 2 + 1
  430.             PromptStr 706, STRING016, 25, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 4 + 8 + 128
  431.             If (Len((STRING016 == 0))) INTEGER001 = INTEGER001 + 1
  432.             If (Trim(STRING016, Chr(32)) <> "") Then
  433.                 INTEGER001 = 0
  434.                 Goto LABEL022
  435.             Else
  436.                 FreshLine
  437.                 Goto LABEL021
  438.             Endif
  439.         Else
  440.             :LABEL022
  441.             STRING020 = ""
  442.             Cls
  443.             PrintLn "@X0F[@X0CA@X0F] @X0EPassword                 @X07: @X0F[@X0A" + Left(RTrim(STRING006, Chr(32)) + "·············", 13) + "@X0F]@X07"
  444.             PrintLn "@X0F[@X0CB@X0F] @X0ECity and State           @X07: @X0F[@X0A" + Left(RTrim(STRING008, Chr(32)) + "························", 24) + "@X0F]@X07"
  445.             PrintLn "@X0F[@X0CC@X0F] @X0EBusiness or data phone   @X07: @X0F[@X0A" + Left(RTrim(STRING009, Chr(32)) + "·············", 13) + "@X0F]@X07"
  446.             PrintLn "@X0F[@X0CD@X0F] @X0EHome or voice phone      @X07: @X0F[@X0A" + Left(RTrim(STRING010, Chr(32)) + "·············", 13) + "@X0F]@X07"
  447.             PrintLn "@X0F[@X0CE@X0F] @X0EBrand of CPU             @X07: @X0F[@X0A" + Left(RTrim(STRING011, Chr(32)) + "······························", 30) + "@X0F]@X07"
  448.             PrintLn 
  449.             PrintLn "@X0F[@X0CF@X0F] @X0EMessage Clear Screen     @X07: @X0F[@X0A" + STRING012 + "@X0F] @X07(@X03Clear Screen prior to Displaying a Message@X07)@X07"
  450.             PrintLn "@X0F[@X0CG@X0F] @X0EDefault Protocol         @X07: @X0F[@X0A" + STRING013 + "@X0F] @X07(@X03Your default transfer protocol@X07)@X07"
  451.             If (Psa(3)) Then
  452.                 PrintLn 
  453.                 PrintLn "@X0F[@X0CH@X0F] @X0EStreet Address and Number@X07: @X0F[@X0A" + Left(RTrim(TSTRING015(0), Chr(32)) + "··············································", 46) + "@X0F]@X07"
  454.                 PrintLn "@X0F[@X0CI@X0F] @X0ESuite or Apartment Number@X07: @X0F[@X0A" + Left(RTrim(TSTRING015(1), Chr(32)) + "··············································", 46) + "@X0F]@X07"
  455.                 PrintLn "@X0F[@X0CJ@X0F] @X0ECity, Town or Village    @X07: @X0F[@X0A" + Left(RTrim(TSTRING015(2), Chr(32)) + "·························", 25) + "@X0F]@X07"
  456.                 PrintLn "@X0F[@X0CK@X0F] @X0EProvince or State        @X07: @X0F[@X0A" + Left(RTrim(TSTRING015(3), Chr(32)) + "··········", 10) + "@X0F]@X07"
  457.                 PrintLn "@X0F[@X0CL@X0F] @X0EPostal Zip Code          @X07: @X0F[@X0A" + Left(RTrim(TSTRING015(4), Chr(32)) + "··········", 10) + "@X0F]@X07"
  458.                 PrintLn "@X0F[@X0CM@X0F] @X0ECountry or Region        @X07: @X0F[@X0A" + Left(RTrim(TSTRING015(5), Chr(32)) + "···············", 15) + "@X0F]@X07"
  459.             Endif
  460.             PrintLn 
  461.             If (Psa(1) && !BOOLEAN002) PrintLn "@X0F[@X0CN@X0F] @X0EAlias Name               @X07: @X0F[@X0A" + Left(RTrim(STRING014, Chr(32)) + "·························", 25) + "@X0F]@X07"
  462.             If (Psa(2)) PrintLn "@X0F[@X0CO@X0F] @X0EVerification Information @X07: @X0F[@X0A" + Left(RTrim(STRING016, Chr(32)) + "·························", 25) + "@X0F]@X07"
  463.             If (Psa(1) || Psa(2)) PrintLn 
  464.             PrintLn "@X0BIf any of the information above is incorrect or inaccurate, now is your chance@X07"
  465.             PrintLn "@X0Bto change it.  All information will be verified before full access is granted.@X07"
  466.             InputStr "(@X0C@MINLEFT@ @X0Fmin. left) Enter the letter to be edited? (@X0CEnter@X0F)=done", STRING020, 15, 1, "abcdefghijklmnoqABCDEFGHIJKLMNOQ", 2 + 4 + 8 + 128 + 32 + 2048
  467.             If (STRING020 == "A") Goto LABEL003
  468.             If (STRING020 == "B") Goto LABEL004
  469.             If (STRING020 == "C") Goto LABEL005
  470.             If (STRING020 == "D") Goto LABEL006
  471.             If (STRING020 == "E") Goto LABEL007
  472.             If (STRING020 == "F") Goto LABEL008
  473.             If (STRING020 == "G") Goto LABEL009
  474.             If (Psa(3) && (STRING020 == "H")) Goto LABEL015
  475.             If (Psa(3) && (STRING020 == "I")) Goto LABEL016
  476.             If (Psa(3) && (STRING020 == "J")) Goto LABEL017
  477.             If (Psa(3) && (STRING020 == "K")) Goto LABEL018
  478.             If (Psa(3) && (STRING020 == "L")) Goto LABEL019
  479.             If (Psa(3) && (STRING020 == "M")) Goto LABEL020
  480.             If (Psa(1) && (STRING020 == "N")) Goto LABEL012
  481.             If (Psa(2) && (STRING020 == "O")) Goto LABEL021
  482.             If (Len(STRING020) == 0) Goto LABEL023
  483.             If (STRING020 == "Q") Then
  484.                 STRING020 = NoChar()
  485.                 InputStr "Proceed with Log-Off", STRING020, 15, 1, "ynYN", 2 + 4 + 8 + 32 + 16384
  486.                 If (STRING020 == YesChar()) Hangup
  487.             Endif
  488.             Goto LABEL022
  489.             :LABEL023
  490.             STRING018 = STRING006 + Chr(13) + STRING007 + Chr(13)
  491.             STRING018 = STRING018 + STRING008 + Chr(13)
  492.             STRING018 = STRING018 + STRING009 + Chr(13)
  493.             STRING018 = STRING018 + STRING010 + Chr(13)
  494.             STRING018 = STRING018 + STRING011 + Chr(13)
  495.             STRING018 = STRING018 + STRING012 + Chr(13)
  496.             STRING018 = STRING018 + STRING013 + Chr(13)
  497.             If (Psa(1) && !BOOLEAN002) Then
  498.                 STRING018 = STRING018 + Strip(STRING014, Chr(250)) + Chr(13)
  499.             Endif
  500.             STRING018 = STRING018 + TSTRING015(0) + Chr(13)
  501.             STRING018 = STRING018 + TSTRING015(1) + Chr(13)
  502.             STRING018 = STRING018 + TSTRING015(2) + Chr(13)
  503.             STRING018 = STRING018 + TSTRING015(3) + Chr(13)
  504.             STRING018 = STRING018 + TSTRING015(4) + Chr(13)
  505.             STRING018 = STRING018 + TSTRING015(5) + Chr(13)
  506.             STRING018 = STRING018 + STRING016 + Chr(13)
  507.             KbdStuff STRING017 + STRING018
  508.             Goto LABEL032
  509.             :LABEL024
  510.             FOpen 1, ReadLine(PCBDat(), 45), 0, 0
  511.             :LABEL025
  512.             If (Ferr(1)) Goto LABEL026
  513.             FGet 1, STRING027
  514.             If (Len(STRING027)) Then
  515.                 STRING027 = Replace(STRING027, Chr(32), Chr(255))
  516.                 INTEGER008 = INTEGER008 + 1
  517.                 STRING027 = Replace(STRING027, ",", ";")
  518.                 Tokenize STRING027
  519.                 While (TokCount() > 0) Do
  520.                     INTEGER007 = INTEGER007 + 1
  521.                     GetToken TSTRING022(INTEGER008, INTEGER007)
  522.                 EndWhile
  523.                 TSTRING023(INTEGER008) = TSTRING022(INTEGER008, 1)
  524.                 TSTRING025(INTEGER008) = TSTRING022(INTEGER008, 2)
  525.                 TSTRING026(INTEGER008) = Replace(TSTRING022(INTEGER008, 4), Chr(255), Chr(32))
  526.                 TSTRING024(INTEGER008) = TSTRING022(INTEGER008, 5)
  527.             Endif
  528.             INTEGER007 = 0
  529.             Goto LABEL025
  530.             :LABEL026
  531.             FClose 1
  532.             Return
  533.             :LABEL027
  534.             FOpen 1, ReadLine(PCBDat(), 32), 0, 0
  535.             :LABEL028
  536.             If (Ferr(1)) Goto LABEL029
  537.             FGet 1, STRING027
  538.             INTEGER006 = INTEGER006 + 1
  539.             STRING027 = Replace(STRING027, ",", ";")
  540.             Tokenize STRING027
  541.             While (TokCount() > 0) Do
  542.                 INTEGER005 = INTEGER005 + 1
  543.                 GetToken TSTRING021(INTEGER006, INTEGER005)
  544.                 If (TSTRING021(INTEGER006, 2) == U_Sec) Then
  545.                     TSTRING021(0, INTEGER005) = TSTRING021(INTEGER006, INTEGER005)
  546.                     FClose 1
  547.                 Endif
  548.             EndWhile
  549.             INTEGER005 = 0
  550.             Goto LABEL028
  551.             :LABEL029
  552.             Return
  553.             :LABEL030
  554.             Newline
  555.             PrintLn "@X0CAccess Denied - Refused to Complete Registration!"
  556.             Hangup
  557.         Endif
  558.     Endif
  559.     :LABEL031
  560.     Newlines 2
  561.     Print "PPE Program Error... Please nodify SysOp... "
  562.     Delay 50
  563.     FreshLine
  564.     Hangup
  565.     :LABEL032
  566.     Cls
  567.     PrintLn 
  568.     PrintLn "  @X0B@FIRST@,@X0A  WELCOME TO THE @X0C@BOARDNAME@ @X0A!!!!"
  569.     PrintLn 
  570.     PrintLn "@X19┌────────────────────────────────────────────────────────────────────────────@X1B┐@X0B"
  571.     PrintLn "@X1B@X19│ @X1AThe SYSOP (operator of this bbs) grants new users such as your self extra  @X1B│@X0B"
  572.     PrintLn "@X1A@X1B@X19│  @X1Afor this call only. This is to help you get beter acqainted with the bbs. @X1B│@X0B"
  573.     PrintLn "@X19│ @X1AThe normal time for a @X1CNON-PAID USER @X1Ais@X1E " + String(STRING029) + " @X1Aand the time@X1B ( that is given )   │@X0B"
  574.     PrintLn "@X09@X19│ @X1Athat the sysop has given you for this call ony as a new user is :@X1D" + String(STRING030) + "@X1B        │@X0B"
  575.     PrintLn "@X1B└────────────────────────────────────────────────────────────────────────────┘@X0B"
  576.     PrintLn " @X8CShort pause !!! @X0C"
  577.     Delay 290
  578.     AdjTime +STRING031
  579.     Goto LABEL034
  580.     :LABEL033
  581.     Cls
  582.     PrintLn 
  583.     PrintLn 
  584.     PrintLn "           @X1B┌────────────────────────────────────────────────────┐@X0B"
  585.     PrintLn "           @X1B│          @X10┌─────────────────────────────@X19┐  @X1B         │@X0B"
  586.     PrintLn "           @X1B│          @X10│  @X9CTHIS PPE IS UNREGISTERED   @X19│           @X1B│@X0B"
  587.     PrintLn "           @X1B│          @X10└@X19─────────────────────────────┘           @X1B│@X0B"
  588.     PrintLn "           @X1B│ @X1FThis is a unregistered PHANTOM WARE PPE. Please    @X1B│@X0B"
  589.     PrintLn "           @X1B│   @X1Fask your sysop to register it ! It only cost     @X1B│@X0B"
  590.     PrintLn "           @X1B│   @X1A$@X0A@X1C" + String(STRING035) + "@X1F!! When this ppe is registered this nag@X1B    │@X0B"
  591.     PrintLn "           @X1B│   screen will go away! @X1ERegistering this ppe will   @X1B│@X0B"
  592.     PrintLn "           @X1B│   @X1Ealso remove the unregistered notes and any       @X1B│@X0B"
  593.     PrintLn "           @X1B│   @X1Edealys!!    @X9CPlease register today!               @X9B@X1B│@X0B"
  594.     PrintLn "           @X1B└────────────────────────────────────────────────────┘@X0B"
  595.     PrintLn "              @X0ARegional Communicatins BBS & Internet Providers "
  596.     PrintLn "              @X0Anode 1 @X0C(@X0B716@X0C)-@X0B366@X0C-@X0B3884"
  597.     PrintLn "              @X0Anode 2 @X0C(@X0B716@X0C)-@X0B366@X0C-@X0B0568 @X0C(@X0Bnote: @X0CNode 2 open @X0E12:am @X0Cto @X0E6:am"
  598.     PrintLn "                     @X0C(@X0B716@X0C)-@X0B792@X0C-@X0B4374 "
  599.     PrintLn "             Voice   @X0C(@X0B716@X0C)-@X0B366@X0C-@X0B2003 @X0ARCOM Internet service provider."
  600.     PrintLn "            @X0D@X0E=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= "
  601.     PrintLn "                            PAUSEING FOR 10 SEC.  @X0E"
  602.     Delay 120
  603.     Return
  604.     :LABEL034
  605.     End
  606.  
  607. ;------------------------------------------------------------------------------
  608. ;
  609. ; Usage report (before postprocessing)
  610. ;
  611. ; ■ Statements used :
  612. ;
  613. ;    4       End
  614. ;    4       Cls
  615. ;    1       Wait
  616. ;    174     Goto 
  617. ;    89      Let 
  618. ;    3       Print 
  619. ;    76      PrintLn 
  620. ;    126     If 
  621. ;    16      DispFile 
  622. ;    5       FOpen 
  623. ;    6       FClose 
  624. ;    12      FGet 
  625. ;    3       Hangup
  626. ;    1       GetUser
  627. ;    1       AdjTime 
  628. ;    1       Log 
  629. ;    8       InputStr 
  630. ;    3       Gosub 
  631. ;    3       Return
  632. ;    11      PromptStr 
  633. ;    4       Delay 
  634. ;    25      Newline
  635. ;    5       Newlines 
  636. ;    2       Tokenize 
  637. ;    2       GetToken 
  638. ;    1       DispText 
  639. ;    2       KbdStuff 
  640. ;    16      FreshLine
  641. ;
  642. ;
  643. ; ■ Functions used :
  644. ;
  645. ;    1       +
  646. ;    1       -
  647. ;    1       %
  648. ;    283     +
  649. ;    54      ==
  650. ;    35      <>
  651. ;    4       <
  652. ;    3       <=
  653. ;    3       >
  654. ;    6       >=
  655. ;    58      !
  656. ;    25      &&
  657. ;    10      ||
  658. ;    16      Len(
  659. ;    1       Upper()
  660. ;    15      Left()
  661. ;    1       Right()
  662. ;    4       Ferr()
  663. ;    57      Chr()
  664. ;    2       InStr()
  665. ;    13      RTrim()
  666. ;    17      Trim()
  667. ;    1       U_Name()
  668. ;    4       NoChar()
  669. ;    5       YesChar()
  670. ;    4       Replace()
  671. ;    2       Strip()
  672. ;    3       String()
  673. ;    2       Mask_Pwd()
  674. ;    10      Mask_Alpha()
  675. ;    11      Mask_Num()
  676. ;    9       Mask_Ascii()
  677. ;    6       PCBDat()
  678. ;    33      PPEPath()
  679. ;    6       ReadLine()
  680. ;    1       OnLocal()
  681. ;    22      Exist()
  682. ;    19      Psa()
  683. ;    1       Modem()
  684. ;    2       TokCount()
  685. ;    1       U_RecNum()
  686. ;
  687. ;------------------------------------------------------------------------------
  688. ;
  689. ; Analysis flags : ABd
  690. ;
  691. ; A - Adjust online time remaining ■ 5
  692. ;     Program modify the amount of online time remaining, this may
  693. ;     be a way to bypass time limits
  694. ;     ■ Search for : ADJTIME
  695. ;
  696. ; B - Brute hangup ■ 1
  697. ;     Program hangup without notification. This may be a good way to
  698. ;     disconnect a user, but if used randomly, may be very nasty
  699. ;     ■ Search for : HANGUP, DTROFF
  700. ;
  701. ; d - Access PCBOARD.DAT ■ 2
  702. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  703. ;     for many PPE so they can find various informations on the system
  704. ;     (system paths, max number of lines in messages, ...) but it may also
  705. ;     be a way to gather vital informations.
  706. ;     ■ Search for : PCBDAT()
  707. ;
  708. ;------------------------------------------------------------------------------
  709. ;
  710. ; Postprocessing report
  711. ;
  712. ;    3       For/Next
  713. ;    3       While/EndWhile
  714. ;    35      If/Then or If/Then/Else
  715. ;    0       Select Case
  716. ;
  717. ;------------------------------------------------------------------------------
  718. ;                 AEGiS Corp - Break the routines, code against the machines!
  719. ;------------------------------------------------------------------------------
  720.